// PROGRAMA : ESTPB131(CHAMADA PELO PROGRAMA SCRPE003)
// BIBLIOTECA : SISP(BATCH)  OPCAO: "EQE"
// SISTEMA : INFORMACOES DE SEGURANCA PUBLICA - SISP
// CLIENTE : GEJUSPC - GERENCIA DE JUSTICA, SEGURANCA PUBLICA E
// CIDADANIA / INSTITUTO DE IDENTIFICACAO
// PROGRAMADOR : * DATA: 15/01/98
// OBJETIVO : ESTATISTICA DAS EMISSSOES DOS ATESTADOS DE
// ANTECEDENTES.
// : ATUALIZACAO DA TELA E DATA (N6) PARA (N8)
// EM 19/10/1999 CHAMA PROGRAMA 'ESTPT131'
// EM 04/08/2002 ATUALIZA PROGRAMA SCRPE003

package br.com.vti.sisp_sicrim.antigo.controller.programa;

import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.vti.sisp_sicrim.antigo.model.SicTabelas;
import br.com.vti.sisp_sicrim.antigo.model.Sislac01;
import br.com.vti.sisp_sicrim.antigo.util.Sessao;
import br.com.vti.sisp_sicrim.antigo.util.Sisgsisp;
import br.com.vti.sisp_sicrim.antigo.util.UtilBean;

/**
 * Classe : Estpb131 OBJETIVO : ESTATISTICA DAS EMISSSOES DOS ATESTADOS DE ANTECEDENTES. *
 * 
 * @author Incode - Data: mai/2014
 * 
 */

@Resource
@Path("/antigo/estpb131")
public class Estpb131 {
	// Views utilizadas
	SicTabelas vwTabele = new SicTabelas();
	// Telas/relatorios utilizados
	// Estpb131A estpb131A;
	// Includes utilizados
	Sislac01 sislac01 = new Sislac01();
	// Areas globais / session
	Sisgsisp sisgsisp; // Funcoes/subrotinas
	FuncoesGerais funcoes = new FuncoesGerais();

	Result result;
	Sessao sessao;
	Boolean primeiraVez = false; // Par�metros

	private int tt1;
	private long cc1;
	private String vt1;

	public Estpb131(Sessao sessao) {
		this.sessao = sessao;
	}

	@Post
	public String executar(int datini, int datfim, int wnumpos, int matr, String sen) throws Exception {
		// if (estpb131A == null) {
		// primeiraVez = true;
		// // estpb131A = new Estpb131A (primeiraVez);
		// estpb131A = new Estpb131A(true, sessao);
		// estpb131A = preMapas();
		// setNavegar("../estpb131/executar");
		// estpb131A.receberTela(primeiraVez, result);
		// result.include("estpb131A", estpb131A);
		// estpb131A.enviarTela(primeiraVez, result, getClass().getSimpleName().toUpperCase());
		// return;
		// } else {
		// // retaurar sessao
		// }
		// estpb131A.receberTela(false, result);
		// estpb131A.setDataCorrente(UtilBean.inverteDataCorrente());
		sessao.getSisgsisp().setOperacao("EQE");
		// if (!UtilBean.funcao.equals(UtilBean.ctt_processa)) {
		// estpb131A.enviarMensagem(null, "");
		// return;
		// }

		if (!sessao.getSisgsisp().getOperacao().equals("EQE")) {
			funcoes.sissm001(result, sessao);
			return "";
		}
		if (!UtilBean.validarMascara(datini, "ddMMyyyy")) {
			// estpb131A.enviarMensagem("ddt", "");
			return "ddt";
		}

		if (UtilBean.extraiDigitos(datini, 8, 5, 4) < 1992) {
			// estpb131A.enviarMensagem("adt", "");
			return "adt";
		}

		if (!UtilBean.validarMascara(datfim, "ddMMyyyy")) {
			// estpb131A.enviarMensagem("dfi", "");
			return "dfi";
		}

		if (UtilBean.extraiDigitos(datfim, 8, 5, 4) < 1992) {
			// estpb131A.enviarMensagem("afi", "");
			return "afi";
		}

		// IF DATINI GT DATFIM
		// REINPUT *15 MARK 5 ALARM
		// END-IF

		if (matr > 0) {
			tt1 = 18;
			cc1 = sessao.getSisgsisp().getMatric();
			vt1 = funcoes.sisnct01(tt1, cc1, vt1);
			if (vt1.equals("@")) {
				return "MATRICULA INEXISTENTE OU USUARIO NAO AUTORIZADO";
			}
		}
		return "";
		// sessao.setAtributo("Estpb131", this);
		// result.include("estpb131A", estpb131A);
		// estpb131A.enviarTela(primeiraVez, result, getClass().getSimpleName().toUpperCase());
	}
}
